# 导入模块
from qcloud_cos import CosConfig
from qcloud_cos import CosS3Client


def upload_file(secret_id, secret_key, region, bucket, file_obj, new_name):
    """
    上传文件到腾讯云的cos
    :param secret_id: 对象存储的secret_id
    :param secret_key: 对象存储的secret_key
    :param region: 文件上传的region值---创建桶的区域
    :param bucket: 要存储的桶的名称
    :param file_obj: 提供要存储文件的对象
    :param new_name: 在cos桶中存储的文件名
    :return:
    """
    # 实例化一个config对象
    config = CosConfig(Region=region, Secret_id=secret_id, Secret_key=secret_key)
    # 实例化一个cos的client
    client = CosS3Client(config)
    # 上传文件
    try:
        # 上传文件
        response = client.upload_file_from_buffer(
            Bucket= bucket,
            Body=file_obj,
            Key=new_name
        )
        print(response)
        # 返回
        return {'status': True, 'name': 'https://{}.cos.{}.myqcloud.com/{}'.format(bucket, region, new_name)}

    except Exception as e:
        return {'status': False, 'error': '上传到腾讯云出现异常，具体原因: ' + str(e)}
